import request from '@/utils/request.js'
// 获取文章
// Path： /v1_0/articles Method： GET 参数：query传参 channel_id timestamp
export const getAllArticleListAPI = ({ channel_id, timestamp }) => request({
  url: '/v1_0/articles',
  method: 'get',
  params: { // 这里的参数, axios会帮你拼接在URL?后面 (查询字符串)
    channel_id,
    timestamp
  }
})

// 文章 - 反馈 - 反馈垃圾内容
// Path： /v1_0/article/reports Method： POST 参数：请求体参数 target type remark
export const reportArticleAPI = ({ target, type }) => request({
  url: '/v1_0/article/reports',
  method: 'POST',
  data: {
    target,
    type,
    remark: '随便举报点啥内容'
  }
})

// 文章-反馈-不感兴趣
// Path： /v1_0/article/dislikes Method： POST  参数：请求体参数 target
export const dislikeArticleAPI = ({ target }) => request({
  url: '/v1_0/article/dislikes',
  method: 'POST',
  data: {
    target
  }
})

// 文章 搜索的联想菜单（自动补全）
// Path： /v1_0/suggestion Method： GET  参数：query参数 q
export const suggestListAPI = ({ q }) => request({
  url: '/v1_0/suggestion',
  method: 'get',
  params: {
    q
  }
})

// 文章  获取搜索结果
// Path： /v1_0/search Method： GET 参数：Query参数 page per_page q
export const searchResultAPI = ({ page, per_page, q }) => request({
  url: '/v1_0/search',
  method: 'get',
  params: {
    page,
    per_page,
    q
  }
})

// 文章 获取详情
// Path： /v1_0/articles/:article_id Method： GET 参数：路径参数 article_id
export const getarticleDetail = ({ article_id }) => request({ url: `/v1_0/articles/${article_id}`, method: 'get' })

// 文章 - 点赞
// Path： /v1_0/article/likings Method： POST 参数：请求体参数 target
export const likeArticleAPI = ({ target }) => request({
  url: '/v1_0/article/likings',
  method: 'POST',
  data: {
    target
  }
})

// 文章 - 取消点赞
// Path： /v1_0/article/likings/:target Method： DELETE  参数：路径参数 target
export const unLikeArticleAPI = ({ target }) => request({
  url: `/v1_0/article/likings/${target}`,
  method: 'DELETE'
})

// 文章 - 评论 - 喜欢
// Path： /v1_0/comment/likings Method： POST 参数：请求体 target
export const commentLikingAPI = ({ target }) => {
  return request({
    url: '/v1_0/comment/likings',
    method: 'POST',
    data: {
      target
    }
  })
}

// 文章- 评论 - 取消喜欢
// Path： /v1_0/comment/likings/:target Method： DELETE 参数：路劲参数 target
export const commentDisLikingAPI = ({ target }) => {
  return request({
    url: `/v1_0/comment/likings/${target}`,
    method: 'DELETE'
  })
}

// // 文章- 评论 - 发布评论
// export const commentSendAPI = ({ id, content, art_id = null }) => {
//   // 1. axios中, data请求体传参, 如果值为null是不会忽略这个参数的
//   // 也会把参数名和值携带给后台 (只有params遇到null才会忽略)
//   // 2. 形参art_id可选参数, 如果逻辑页面是对文章评论, 则不需要传递art_id
//   // 所以这时, 内部art_id值为null就证明此次调用, 是针对文章评论
//   // data请求体对象需要自己处理
//   const obj = {
//     target: id,
//     content
//   }
//   if (art_id !== null) { // 如果本次有第三个参数, 证明是对评论进行回复,新增一个value：key
//     obj.art_id = art_id
//   }
//   return request({
//     url: '/v1_0/comments',
//     method: 'POST',
//     data: obj
//   })
// }

// 文章-评论-发布评论
// Path： /v1_0/comments Method： POST 参数：请求体参数： target  content
export const commentSendAPI = ({ target, content, art_id = null }) => request({
  url: '/v1_0/comments',
  method: 'post',
  data: {
    target,
    content
  }
})
